package com.joysuch.wwyt.patrol.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.joysuch.wwyt.patrol.entity.PatrolDataType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.joysuch.wwyt.patrol.entity.bean.PatrolDataTypeSearchBean;
import com.joysuch.wwyt.patrol.entity.bean.PatrolOptionVo;
import com.joysuch.wwyt.patrol.entity.bean.SimpleListDataType;
import com.joysuch.wwyt.patrol.entity.dto.PatrolDataTypeDto;
import com.joysuch.wwyt.patrol.entity.dto.PatrolOptionDto;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author lrf
 * @since 2022-03-01
 */
@Repository
public interface PatrolDataTypeMapper extends BaseMapper<PatrolDataType> {

    int deleteDataTypeId(Long id);

    Page<PatrolOptionDto> findOptionPage(Page<PatrolOptionDto> page, String name , String attribute,Long tenentId,String orgCode);

    Page<PatrolDataTypeDto> findDataTypePageList(Page<PatrolDataTypeDto> page , PatrolDataTypeSearchBean dataTypeSearchBean);

    List<PatrolOptionVo> findOptionById(Long id);

    List<SimpleListDataType> getSimpleList(Long tenentId, String orgCode);

    List<SimpleListDataType> getSimpleListShock(Long tenentId, String orgCode);

    List<SimpleListDataType> getSimpleListShocks(Long tenentId, String orgCode);

    PatrolDataType findDataTypeById(Long dataTypeId);

    PatrolDataType findDataTypeByIdShock(Long dataTypeId);

    String findOptionNameById(Long normalValueId);

    /**
     * 根据状态数据名称查找状态数据
     * @param dataName
     * @param tenentId
     * @param orgCode
     * @return
     */
    PatrolDataType findByName(String dataName, Long tenentId, String orgCode);
    PatrolDataType findByNameShock(String dataName, Long tenentId, String orgCode);

    Long judgeForName(String dataName,Long tenentId,String orgCode,Long id);

    String findNameById(Long id);
}
